package com.asa.voice.mp3.asa.decoder;

public class Synthesis {
	
	
	private AudioBuffer audioBuf;
	  
	  private final int step;
	  
	  private float[][] fifobuf;
	  
	  private int[] fifoIndex;
	  
	  private int maxpcm;
	  
	  private final float[][] dewin;
	

	  public Synthesis(AudioBuffer paramAudioBuffer, int paramInt) {
		    this.dewin = new float[][] { 
		        { 
		          0.0F, -14.5F, 106.5F, -229.5F, 1018.5F, -2576.5F, 3287.0F, -18744.5F, 37519.0F, 18744.5F, 
		          3287.0F, 2576.5F, 1018.5F, 229.5F, 106.5F, 14.5F }, { 
		          -0.5F, -15.5F, 109.0F, -259.5F, 1000.0F, -2758.5F, 2979.5F, -19668.0F, 37496.0F, 17820.0F, 
		          3567.0F, 2394.0F, 1031.5F, 200.5F, 104.0F, 13.0F }, { 
		          -0.5F, -17.5F, 111.0F, -290.5F, 976.0F, -2939.5F, 2644.0F, -20588.0F, 37428.0F, 16895.5F, 
		          3820.0F, 2212.5F, 1040.0F, 173.5F, 101.0F, 12.0F }, { 
		          -0.5F, -19.0F, 112.5F, -322.5F, 946.5F, -3118.5F, 2280.5F, -21503.0F, 37315.0F, 15973.5F, 
		          4046.0F, 2031.5F, 1043.5F, 147.0F, 98.0F, 10.5F }, { 
		          -0.5F, -20.5F, 113.5F, -355.5F, 911.0F, -3294.5F, 1888.0F, -22410.5F, 37156.5F, 15056.0F, 
		          4246.0F, 1852.5F, 1042.5F, 122.0F, 95.0F, 9.5F }, { 
		          -0.5F, -22.5F, 114.0F, -389.5F, 869.5F, -3467.5F, 1467.5F, -23308.5F, 36954.0F, 14144.5F, 
		          4420.0F, 1675.5F, 1037.5F, 98.5F, 91.5F, 8.5F }, { 
		          -0.5F, -24.5F, 114.0F, -424.0F, 822.0F, -3635.5F, 1018.5F, -24195.0F, 36707.5F, 13241.0F, 
		          4569.5F, 1502.0F, 1028.5F, 76.5F, 88.0F, 8.0F }, { 
		          -1.0F, -26.5F, 113.5F, -459.5F, 767.5F, -3798.5F, 541.0F, -25068.5F, 36417.5F, 12347.0F, 
		          4694.5F, 1331.5F, 1016.0F, 55.5F, 84.5F, 7.0F }, { 
		          -1.0F, -29.0F, 112.0F, -495.5F, 707.0F, -3955.0F, 35.0F, -25926.5F, 36084.5F, 11464.5F, 
		          4796.0F, 1165.0F, 1000.5F, 36.0F, 80.5F, 6.5F }, { 
		          -1.0F, -31.5F, 110.5F, -532.0F, 640.0F, -4104.5F, -499.0F, -26767.0F, 35710.0F, 10594.5F, 
		          4875.0F, 1003.0F, 981.0F, 18.0F, 77.0F, 5.5F }, 
		        { 
		          -1.0F, -34.0F, 107.5F, -568.5F, 565.5F, -4245.5F, -1061.0F, -27589.0F, 35295.0F, 9739.0F, 
		          4931.5F, 846.0F, 959.5F, 1.0F, 73.5F, 5.0F }, { 
		          -1.5F, -36.5F, 104.0F, -605.0F, 485.0F, -4377.5F, -1650.0F, -28389.0F, 34839.5F, 8899.5F, 
		          4967.5F, 694.0F, 935.0F, -14.5F, 69.5F, 4.5F }, { 
		          -1.5F, -39.5F, 100.0F, -641.5F, 397.0F, -4499.0F, -2266.5F, -29166.5F, 34346.0F, 8077.5F, 
		          4983.0F, 547.5F, 908.5F, -28.5F, 66.0F, 4.0F }, { 
		          -2.0F, -42.5F, 94.5F, -678.0F, 302.5F, -4609.5F, -2909.0F, -29919.0F, 33814.5F, 7274.0F, 
		          4979.5F, 407.0F, 879.5F, -41.5F, 62.5F, 3.5F }, { 
		          -2.0F, -45.5F, 88.5F, -714.0F, 201.0F, -4708.0F, -3577.0F, -30644.5F, 33247.0F, 6490.0F, 
		          4958.0F, 272.5F, 849.0F, -53.0F, 58.5F, 3.5F }, { 
		          -2.5F, -48.5F, 81.5F, -749.0F, 92.5F, -4792.5F, -4270.0F, -31342.0F, 32645.0F, 5727.5F, 
		          4919.0F, 144.0F, 817.0F, -63.5F, 55.5F, 3.0F }, { 
		          -2.5F, -52.0F, 73.0F, -783.5F, -22.5F, -4863.5F, -4987.5F, -32009.5F, 32009.5F, 4987.5F, 
		          4863.5F, 22.5F, 783.5F, -73.0F, 52.0F, 2.5F }, { 
		          -3.0F, -55.5F, 63.5F, -817.0F, -144.0F, -4919.0F, -5727.5F, -32645.0F, 31342.0F, 4270.0F, 
		          4792.5F, -92.5F, 749.0F, -81.5F, 48.5F, 2.5F }, { 
		          -3.5F, -58.5F, 53.0F, -849.0F, -272.5F, -4958.0F, -6490.0F, -33247.0F, 30644.5F, 3577.0F, 
		          4708.0F, -201.0F, 714.0F, -88.5F, 45.5F, 2.0F }, { 
		          -3.5F, -62.5F, 41.5F, -879.5F, -407.0F, -4979.5F, -7274.0F, -33814.5F, 29919.0F, 2909.0F, 
		          4609.5F, -302.5F, 678.0F, -94.5F, 42.5F, 2.0F }, 
		        { 
		          -4.0F, -66.0F, 28.5F, -908.5F, -547.5F, -4983.0F, -8077.5F, -34346.0F, 29166.5F, 2266.5F, 
		          4499.0F, -397.0F, 641.5F, -100.0F, 39.5F, 1.5F }, { 
		          -4.5F, -69.5F, 14.5F, -935.0F, -694.0F, -4967.5F, -8899.5F, -34839.5F, 28389.0F, 1650.0F, 
		          4377.5F, -485.0F, 605.0F, -104.0F, 36.5F, 1.5F }, { 
		          -5.0F, -73.5F, -1.0F, -959.5F, -846.0F, -4931.5F, -9739.0F, -35295.0F, 27589.0F, 1061.0F, 
		          4245.5F, -565.5F, 568.5F, -107.5F, 34.0F, 1.0F }, { 
		          -5.5F, -77.0F, -18.0F, -981.0F, -1003.0F, -4875.0F, -10594.5F, -35710.0F, 26767.0F, 499.0F, 
		          4104.5F, -640.0F, 532.0F, -110.5F, 31.5F, 1.0F }, { 
		          -6.5F, -80.5F, -36.0F, -1000.5F, -1165.0F, -4796.0F, -11464.5F, -36084.5F, 25926.5F, -35.0F, 
		          3955.0F, -707.0F, 495.5F, -112.0F, 29.0F, 1.0F }, { 
		          -7.0F, -84.5F, -55.5F, -1016.0F, -1331.5F, -4694.5F, -12347.0F, -36417.5F, 25068.5F, -541.0F, 
		          3798.5F, -767.5F, 459.5F, -113.5F, 26.5F, 1.0F }, { 
		          -8.0F, -88.0F, -76.5F, -1028.5F, -1502.0F, -4569.5F, -13241.0F, -36707.5F, 24195.0F, -1018.5F, 
		          3635.5F, -822.0F, 424.0F, -114.0F, 24.5F, 0.5F }, { 
		          -8.5F, -91.5F, -98.5F, -1037.5F, -1675.5F, -4420.0F, -14144.5F, -36954.0F, 23308.5F, -1467.5F, 
		          3467.5F, -869.5F, 389.5F, -114.0F, 22.5F, 0.5F }, { 
		          -9.5F, -95.0F, -122.0F, -1042.5F, -1852.5F, -4246.0F, -15056.0F, -37156.5F, 22410.5F, -1888.0F, 
		          3294.5F, -911.0F, 355.5F, -113.5F, 20.5F, 0.5F }, { 
		          -10.5F, -98.0F, -147.0F, -1043.5F, -2031.5F, -4046.0F, -15973.5F, -37315.0F, 21503.0F, -2280.5F, 
		          3118.5F, -946.5F, 322.5F, -112.5F, 19.0F, 0.5F }, 
		        { 
		          -12.0F, -101.0F, -173.5F, -1040.0F, -2212.5F, -3820.0F, -16895.5F, -37428.0F, 20588.0F, -2644.0F, 
		          2939.5F, -976.0F, 290.5F, -111.0F, 17.5F, 0.5F }, { 
		          -13.0F, -104.0F, -200.5F, -1031.5F, -2394.0F, -3567.0F, -17820.0F, -37496.0F, 19668.0F, -2979.5F, 
		          2758.5F, -1000.0F, 259.5F, -109.0F, 15.5F, 0.5F } };
		    this.audioBuf = paramAudioBuffer;
		    this.step = (paramInt == 2) ? 4 : 2;
		    this.fifobuf = new float[paramInt][1024];
		    this.fifoIndex = new int[paramInt];
		  }
		  
		  public int getMaxPCM() {
		    return this.maxpcm;
		  }
		  
		  public void synthesisSubBand(float[] paramArrayOffloat, int paramInt) {
		    byte b;
		    float[] arrayOfFloat = this.fifobuf[paramInt];
		    byte[] arrayOfByte = this.audioBuf.pcmbuf;
		    int i = this.audioBuf.off[paramInt];
		    this.fifoIndex[paramInt] = this.fifoIndex[paramInt] - 64 & 0x3FF;
		    dct32to64(paramArrayOffloat, arrayOfFloat, this.fifoIndex[paramInt]);
		    switch (this.fifoIndex[paramInt]) {
		      case 0:
		        for (b = 0; b < 32; b++, i += this.step) {
		          float[] arrayOfFloat1 = this.dewin[b];
		          float f = arrayOfFloat1[0] * arrayOfFloat[b];
		          f += arrayOfFloat1[1] * arrayOfFloat[b + 96];
		          f += arrayOfFloat1[2] * arrayOfFloat[b + 128];
		          f += arrayOfFloat1[3] * arrayOfFloat[b + 224];
		          f += arrayOfFloat1[4] * arrayOfFloat[b + 256];
		          f += arrayOfFloat1[5] * arrayOfFloat[b + 352];
		          f += arrayOfFloat1[6] * arrayOfFloat[b + 384];
		          f += arrayOfFloat1[7] * arrayOfFloat[b + 480];
		          f += arrayOfFloat1[8] * arrayOfFloat[b + 512];
		          f += arrayOfFloat1[9] * arrayOfFloat[b + 608];
		          f += arrayOfFloat1[10] * arrayOfFloat[b + 640];
		          f += arrayOfFloat1[11] * arrayOfFloat[b + 736];
		          f += arrayOfFloat1[12] * arrayOfFloat[b + 768];
		          f += arrayOfFloat1[13] * arrayOfFloat[b + 864];
		          f += arrayOfFloat1[14] * arrayOfFloat[b + 896];
		          f += arrayOfFloat1[15] * arrayOfFloat[b + 992];
		          int b1 = (f > 32767.0F) ? 32767 : ((f < -32768.0F) ? -32768 : (int)f);
		          arrayOfByte[i] = (byte)b1;
		          arrayOfByte[i + 1] = (byte)(b1 >>> 8);
		          if (b1 > this.maxpcm)
		            this.maxpcm = b1; 
		        } 
		        break;
		      case 64:
		        for (b = 0; b < 32; b++, i += this.step) {
		          float[] arrayOfFloat1 = this.dewin[b];
		          float f = arrayOfFloat1[0] * arrayOfFloat[b + 64];
		          f += arrayOfFloat1[1] * arrayOfFloat[b + 160];
		          f += arrayOfFloat1[2] * arrayOfFloat[b + 192];
		          f += arrayOfFloat1[3] * arrayOfFloat[b + 288];
		          f += arrayOfFloat1[4] * arrayOfFloat[b + 320];
		          f += arrayOfFloat1[5] * arrayOfFloat[b + 416];
		          f += arrayOfFloat1[6] * arrayOfFloat[b + 448];
		          f += arrayOfFloat1[7] * arrayOfFloat[b + 544];
		          f += arrayOfFloat1[8] * arrayOfFloat[b + 576];
		          f += arrayOfFloat1[9] * arrayOfFloat[b + 672];
		          f += arrayOfFloat1[10] * arrayOfFloat[b + 704];
		          f += arrayOfFloat1[11] * arrayOfFloat[b + 800];
		          f += arrayOfFloat1[12] * arrayOfFloat[b + 832];
		          f += arrayOfFloat1[13] * arrayOfFloat[b + 928];
		          f += arrayOfFloat1[14] * arrayOfFloat[b + 960];
		          f += arrayOfFloat1[15] * arrayOfFloat[b + 32];
		          int b1 = (f > 32767.0F) ? 32767 : ((f < -32768.0F) ? -32768 : (int)f);
		          arrayOfByte[i] = (byte)b1;
		          arrayOfByte[i + 1] = (byte)(b1 >>> 8);
		          if (b1 > this.maxpcm)
		            this.maxpcm = b1; 
		        } 
		        break;
		      case 128:
		        for (b = 0; b < 32; b++, i += this.step) {
		          float[] arrayOfFloat1 = this.dewin[b];
		          float f = arrayOfFloat1[0] * arrayOfFloat[b + 128];
		          f += arrayOfFloat1[1] * arrayOfFloat[b + 224];
		          f += arrayOfFloat1[2] * arrayOfFloat[b + 256];
		          f += arrayOfFloat1[3] * arrayOfFloat[b + 352];
		          f += arrayOfFloat1[4] * arrayOfFloat[b + 384];
		          f += arrayOfFloat1[5] * arrayOfFloat[b + 480];
		          f += arrayOfFloat1[6] * arrayOfFloat[b + 512];
		          f += arrayOfFloat1[7] * arrayOfFloat[b + 608];
		          f += arrayOfFloat1[8] * arrayOfFloat[b + 640];
		          f += arrayOfFloat1[9] * arrayOfFloat[b + 736];
		          f += arrayOfFloat1[10] * arrayOfFloat[b + 768];
		          f += arrayOfFloat1[11] * arrayOfFloat[b + 864];
		          f += arrayOfFloat1[12] * arrayOfFloat[b + 896];
		          f += arrayOfFloat1[13] * arrayOfFloat[b + 992];
		          f += arrayOfFloat1[14] * arrayOfFloat[b];
		          f += arrayOfFloat1[15] * arrayOfFloat[b + 96];
		          int b1 = (f > 32767.0F) ? 32767 : ((f < -32768.0F) ? -32768 : (int)f);
		          arrayOfByte[i] = (byte)b1;
		          arrayOfByte[i + 1] = (byte)(b1 >>> 8);
		          if (b1 > this.maxpcm)
		            this.maxpcm = b1; 
		        } 
		        break;
		      case 192:
		        for (b = 0; b < 32; b++, i += this.step) {
		          float[] arrayOfFloat1 = this.dewin[b];
		          float f = arrayOfFloat1[0] * arrayOfFloat[b + 192];
		          f += arrayOfFloat1[1] * arrayOfFloat[b + 288];
		          f += arrayOfFloat1[2] * arrayOfFloat[b + 320];
		          f += arrayOfFloat1[3] * arrayOfFloat[b + 416];
		          f += arrayOfFloat1[4] * arrayOfFloat[b + 448];
		          f += arrayOfFloat1[5] * arrayOfFloat[b + 544];
		          f += arrayOfFloat1[6] * arrayOfFloat[b + 576];
		          f += arrayOfFloat1[7] * arrayOfFloat[b + 672];
		          f += arrayOfFloat1[8] * arrayOfFloat[b + 704];
		          f += arrayOfFloat1[9] * arrayOfFloat[b + 800];
		          f += arrayOfFloat1[10] * arrayOfFloat[b + 832];
		          f += arrayOfFloat1[11] * arrayOfFloat[b + 928];
		          f += arrayOfFloat1[12] * arrayOfFloat[b + 960];
		          f += arrayOfFloat1[13] * arrayOfFloat[b + 32];
		          f += arrayOfFloat1[14] * arrayOfFloat[b + 64];
		          f += arrayOfFloat1[15] * arrayOfFloat[b + 160];
		          int b1 = (f > 32767.0F) ? 32767 : ((f < -32768.0F) ? -32768 : (int)f);
		          arrayOfByte[i] = (byte)b1;
		          arrayOfByte[i + 1] = (byte)(b1 >>> 8);
		          if (b1 > this.maxpcm)
		            this.maxpcm = b1; 
		        } 
		        break;
		      case 256:
		        for (b = 0; b < 32; b++, i += this.step) {
		          float[] arrayOfFloat1 = this.dewin[b];
		          float f = arrayOfFloat1[0] * arrayOfFloat[b + 256];
		          f += arrayOfFloat1[1] * arrayOfFloat[b + 352];
		          f += arrayOfFloat1[2] * arrayOfFloat[b + 384];
		          f += arrayOfFloat1[3] * arrayOfFloat[b + 480];
		          f += arrayOfFloat1[4] * arrayOfFloat[b + 512];
		          f += arrayOfFloat1[5] * arrayOfFloat[b + 608];
		          f += arrayOfFloat1[6] * arrayOfFloat[b + 640];
		          f += arrayOfFloat1[7] * arrayOfFloat[b + 736];
		          f += arrayOfFloat1[8] * arrayOfFloat[b + 768];
		          f += arrayOfFloat1[9] * arrayOfFloat[b + 864];
		          f += arrayOfFloat1[10] * arrayOfFloat[b + 896];
		          f += arrayOfFloat1[11] * arrayOfFloat[b + 992];
		          f += arrayOfFloat1[12] * arrayOfFloat[b];
		          f += arrayOfFloat1[13] * arrayOfFloat[b + 96];
		          f += arrayOfFloat1[14] * arrayOfFloat[b + 128];
		          f += arrayOfFloat1[15] * arrayOfFloat[b + 224];
		          int b1 = (f > 32767.0F) ? 32767 : ((f < -32768.0F) ? -32768 : (int)f);
		          arrayOfByte[i] = (byte)b1;
		          arrayOfByte[i + 1] = (byte)(b1 >>> 8);
		          if (b1 > this.maxpcm)
		            this.maxpcm = b1; 
		        } 
		        break;
		      case 320:
		        for (b = 0; b < 32; b++, i += this.step) {
		          float[] arrayOfFloat1 = this.dewin[b];
		          float f = arrayOfFloat1[0] * arrayOfFloat[b + 320];
		          f += arrayOfFloat1[1] * arrayOfFloat[b + 416];
		          f += arrayOfFloat1[2] * arrayOfFloat[b + 448];
		          f += arrayOfFloat1[3] * arrayOfFloat[b + 544];
		          f += arrayOfFloat1[4] * arrayOfFloat[b + 576];
		          f += arrayOfFloat1[5] * arrayOfFloat[b + 672];
		          f += arrayOfFloat1[6] * arrayOfFloat[b + 704];
		          f += arrayOfFloat1[7] * arrayOfFloat[b + 800];
		          f += arrayOfFloat1[8] * arrayOfFloat[b + 832];
		          f += arrayOfFloat1[9] * arrayOfFloat[b + 928];
		          f += arrayOfFloat1[10] * arrayOfFloat[b + 960];
		          f += arrayOfFloat1[11] * arrayOfFloat[b + 32];
		          f += arrayOfFloat1[12] * arrayOfFloat[b + 64];
		          f += arrayOfFloat1[13] * arrayOfFloat[b + 160];
		          f += arrayOfFloat1[14] * arrayOfFloat[b + 192];
		          f += arrayOfFloat1[15] * arrayOfFloat[b + 288];
		          int b1 = (f > 32767.0F) ? 32767 : ((f < -32768.0F) ? -32768 : (int)f);
		          arrayOfByte[i] = (byte)b1;
		          arrayOfByte[i + 1] = (byte)(b1 >>> 8);
		          if (b1 > this.maxpcm)
		            this.maxpcm = b1; 
		        } 
		        break;
		      case 384:
		        for (b = 0; b < 32; b++, i += this.step) {
		          float[] arrayOfFloat1 = this.dewin[b];
		          float f = arrayOfFloat1[0] * arrayOfFloat[b + 384];
		          f += arrayOfFloat1[1] * arrayOfFloat[b + 480];
		          f += arrayOfFloat1[2] * arrayOfFloat[b + 512];
		          f += arrayOfFloat1[3] * arrayOfFloat[b + 608];
		          f += arrayOfFloat1[4] * arrayOfFloat[b + 640];
		          f += arrayOfFloat1[5] * arrayOfFloat[b + 736];
		          f += arrayOfFloat1[6] * arrayOfFloat[b + 768];
		          f += arrayOfFloat1[7] * arrayOfFloat[b + 864];
		          f += arrayOfFloat1[8] * arrayOfFloat[b + 896];
		          f += arrayOfFloat1[9] * arrayOfFloat[b + 992];
		          f += arrayOfFloat1[10] * arrayOfFloat[b];
		          f += arrayOfFloat1[11] * arrayOfFloat[b + 96];
		          f += arrayOfFloat1[12] * arrayOfFloat[b + 128];
		          f += arrayOfFloat1[13] * arrayOfFloat[b + 224];
		          f += arrayOfFloat1[14] * arrayOfFloat[b + 256];
		          f += arrayOfFloat1[15] * arrayOfFloat[b + 352];
		          int b1 = (f > 32767.0F) ? 32767 : ((f < -32768.0F) ? -32768 : (int)f);
		          arrayOfByte[i] = (byte)b1;
		          arrayOfByte[i + 1] = (byte)(b1 >>> 8);
		          if (b1 > this.maxpcm)
		            this.maxpcm = b1; 
		        } 
		        break;
		      case 448:
		        for (b = 0; b < 32; b++, i += this.step) {
		          float[] arrayOfFloat1 = this.dewin[b];
		          float f = arrayOfFloat1[0] * arrayOfFloat[b + 448];
		          f += arrayOfFloat1[1] * arrayOfFloat[b + 544];
		          f += arrayOfFloat1[2] * arrayOfFloat[b + 576];
		          f += arrayOfFloat1[3] * arrayOfFloat[b + 672];
		          f += arrayOfFloat1[4] * arrayOfFloat[b + 704];
		          f += arrayOfFloat1[5] * arrayOfFloat[b + 800];
		          f += arrayOfFloat1[6] * arrayOfFloat[b + 832];
		          f += arrayOfFloat1[7] * arrayOfFloat[b + 928];
		          f += arrayOfFloat1[8] * arrayOfFloat[b + 960];
		          f += arrayOfFloat1[9] * arrayOfFloat[b + 32];
		          f += arrayOfFloat1[10] * arrayOfFloat[b + 64];
		          f += arrayOfFloat1[11] * arrayOfFloat[b + 160];
		          f += arrayOfFloat1[12] * arrayOfFloat[b + 192];
		          f += arrayOfFloat1[13] * arrayOfFloat[b + 288];
		          f += arrayOfFloat1[14] * arrayOfFloat[b + 320];
		          f += arrayOfFloat1[15] * arrayOfFloat[b + 416];
		          int b1 = (f > 32767.0F) ? 32767 : ((f < -32768.0F) ? -32768 : (int)f);
		          arrayOfByte[i] = (byte)b1;
		          arrayOfByte[i + 1] = (byte)(b1 >>> 8);
		          if (b1 > this.maxpcm)
		            this.maxpcm = b1; 
		        } 
		        break;
		      case 512:
		        for (b = 0; b < 32; b++, i += this.step) {
		          float[] arrayOfFloat1 = this.dewin[b];
		          float f = arrayOfFloat1[0] * arrayOfFloat[b + 512];
		          f += arrayOfFloat1[1] * arrayOfFloat[b + 608];
		          f += arrayOfFloat1[2] * arrayOfFloat[b + 640];
		          f += arrayOfFloat1[3] * arrayOfFloat[b + 736];
		          f += arrayOfFloat1[4] * arrayOfFloat[b + 768];
		          f += arrayOfFloat1[5] * arrayOfFloat[b + 864];
		          f += arrayOfFloat1[6] * arrayOfFloat[b + 896];
		          f += arrayOfFloat1[7] * arrayOfFloat[b + 992];
		          f += arrayOfFloat1[8] * arrayOfFloat[b];
		          f += arrayOfFloat1[9] * arrayOfFloat[b + 96];
		          f += arrayOfFloat1[10] * arrayOfFloat[b + 128];
		          f += arrayOfFloat1[11] * arrayOfFloat[b + 224];
		          f += arrayOfFloat1[12] * arrayOfFloat[b + 256];
		          f += arrayOfFloat1[13] * arrayOfFloat[b + 352];
		          f += arrayOfFloat1[14] * arrayOfFloat[b + 384];
		          f += arrayOfFloat1[15] * arrayOfFloat[b + 480];
		          int b1 = (f > 32767.0F) ? 32767 : ((f < -32768.0F) ? -32768 : (int)f);
		          arrayOfByte[i] = (byte)b1;
		          arrayOfByte[i + 1] = (byte)(b1 >>> 8);
		          if (b1 > this.maxpcm)
		            this.maxpcm = b1; 
		        } 
		        break;
		      case 576:
		        for (b = 0; b < 32; b++, i += this.step) {
		          float[] arrayOfFloat1 = this.dewin[b];
		          float f = arrayOfFloat1[0] * arrayOfFloat[b + 576];
		          f += arrayOfFloat1[1] * arrayOfFloat[b + 672];
		          f += arrayOfFloat1[2] * arrayOfFloat[b + 704];
		          f += arrayOfFloat1[3] * arrayOfFloat[b + 800];
		          f += arrayOfFloat1[4] * arrayOfFloat[b + 832];
		          f += arrayOfFloat1[5] * arrayOfFloat[b + 928];
		          f += arrayOfFloat1[6] * arrayOfFloat[b + 960];
		          f += arrayOfFloat1[7] * arrayOfFloat[b + 32];
		          f += arrayOfFloat1[8] * arrayOfFloat[b + 64];
		          f += arrayOfFloat1[9] * arrayOfFloat[b + 160];
		          f += arrayOfFloat1[10] * arrayOfFloat[b + 192];
		          f += arrayOfFloat1[11] * arrayOfFloat[b + 288];
		          f += arrayOfFloat1[12] * arrayOfFloat[b + 320];
		          f += arrayOfFloat1[13] * arrayOfFloat[b + 416];
		          f += arrayOfFloat1[14] * arrayOfFloat[b + 448];
		          f += arrayOfFloat1[15] * arrayOfFloat[b + 544];
		          int b1 = (f > 32767.0F) ? 32767 : ((f < -32768.0F) ? -32768 : (int)f);
		          arrayOfByte[i] = (byte)b1;
		          arrayOfByte[i + 1] = (byte)(b1 >>> 8);
		          if (b1 > this.maxpcm)
		            this.maxpcm = b1; 
		        } 
		        break;
		      case 640:
		        for (b = 0; b < 32; b++, i += this.step) {
		          float[] arrayOfFloat1 = this.dewin[b];
		          float f = arrayOfFloat1[0] * arrayOfFloat[b + 640];
		          f += arrayOfFloat1[1] * arrayOfFloat[b + 736];
		          f += arrayOfFloat1[2] * arrayOfFloat[b + 768];
		          f += arrayOfFloat1[3] * arrayOfFloat[b + 864];
		          f += arrayOfFloat1[4] * arrayOfFloat[b + 896];
		          f += arrayOfFloat1[5] * arrayOfFloat[b + 992];
		          f += arrayOfFloat1[6] * arrayOfFloat[b];
		          f += arrayOfFloat1[7] * arrayOfFloat[b + 96];
		          f += arrayOfFloat1[8] * arrayOfFloat[b + 128];
		          f += arrayOfFloat1[9] * arrayOfFloat[b + 224];
		          f += arrayOfFloat1[10] * arrayOfFloat[b + 256];
		          f += arrayOfFloat1[11] * arrayOfFloat[b + 352];
		          f += arrayOfFloat1[12] * arrayOfFloat[b + 384];
		          f += arrayOfFloat1[13] * arrayOfFloat[b + 480];
		          f += arrayOfFloat1[14] * arrayOfFloat[b + 512];
		          f += arrayOfFloat1[15] * arrayOfFloat[b + 608];
		          int b1 = (f > 32767.0F) ? 32767 : ((f < -32768.0F) ? -32768 : (int)f);
		          arrayOfByte[i] = (byte)b1;
		          arrayOfByte[i + 1] = (byte)(b1 >>> 8);
		          if (b1 > this.maxpcm)
		            this.maxpcm = b1; 
		        } 
		        break;
		      case 704:
		        for (b = 0; b < 32; b++, i += this.step) {
		          float[] arrayOfFloat1 = this.dewin[b];
		          float f = arrayOfFloat1[0] * arrayOfFloat[b + 704];
		          f += arrayOfFloat1[1] * arrayOfFloat[b + 800];
		          f += arrayOfFloat1[2] * arrayOfFloat[b + 832];
		          f += arrayOfFloat1[3] * arrayOfFloat[b + 928];
		          f += arrayOfFloat1[4] * arrayOfFloat[b + 960];
		          f += arrayOfFloat1[5] * arrayOfFloat[b + 32];
		          f += arrayOfFloat1[6] * arrayOfFloat[b + 64];
		          f += arrayOfFloat1[7] * arrayOfFloat[b + 160];
		          f += arrayOfFloat1[8] * arrayOfFloat[b + 192];
		          f += arrayOfFloat1[9] * arrayOfFloat[b + 288];
		          f += arrayOfFloat1[10] * arrayOfFloat[b + 320];
		          f += arrayOfFloat1[11] * arrayOfFloat[b + 416];
		          f += arrayOfFloat1[12] * arrayOfFloat[b + 448];
		          f += arrayOfFloat1[13] * arrayOfFloat[b + 544];
		          f += arrayOfFloat1[14] * arrayOfFloat[b + 576];
		          f += arrayOfFloat1[15] * arrayOfFloat[b + 672];
		          int b1 = (f > 32767.0F) ? 32767 : ((f < -32768.0F) ? -32768 : (int)f);
		          arrayOfByte[i] = (byte)b1;
		          arrayOfByte[i + 1] = (byte)(b1 >>> 8);
		          if (b1 > this.maxpcm)
		            this.maxpcm = b1; 
		        } 
		        break;
		      case 768:
		        for (b = 0; b < 32; b++, i += this.step) {
		          float[] arrayOfFloat1 = this.dewin[b];
		          float f = arrayOfFloat1[0] * arrayOfFloat[b + 768];
		          f += arrayOfFloat1[1] * arrayOfFloat[b + 864];
		          f += arrayOfFloat1[2] * arrayOfFloat[b + 896];
		          f += arrayOfFloat1[3] * arrayOfFloat[b + 992];
		          f += arrayOfFloat1[4] * arrayOfFloat[b];
		          f += arrayOfFloat1[5] * arrayOfFloat[b + 96];
		          f += arrayOfFloat1[6] * arrayOfFloat[b + 128];
		          f += arrayOfFloat1[7] * arrayOfFloat[b + 224];
		          f += arrayOfFloat1[8] * arrayOfFloat[b + 256];
		          f += arrayOfFloat1[9] * arrayOfFloat[b + 352];
		          f += arrayOfFloat1[10] * arrayOfFloat[b + 384];
		          f += arrayOfFloat1[11] * arrayOfFloat[b + 480];
		          f += arrayOfFloat1[12] * arrayOfFloat[b + 512];
		          f += arrayOfFloat1[13] * arrayOfFloat[b + 608];
		          f += arrayOfFloat1[14] * arrayOfFloat[b + 640];
		          f += arrayOfFloat1[15] * arrayOfFloat[b + 736];
		          int b1 = (f > 32767.0F) ? 32767 : ((f < -32768.0F) ? -32768 : (int)f);
		          arrayOfByte[i] = (byte)b1;
		          arrayOfByte[i + 1] = (byte)(b1 >>> 8);
		          if (b1 > this.maxpcm)
		            this.maxpcm = b1; 
		        } 
		        break;
		      case 832:
		        for (b = 0; b < 32; b++, i += this.step) {
		          float[] arrayOfFloat1 = this.dewin[b];
		          float f = arrayOfFloat1[0] * arrayOfFloat[b + 832];
		          f += arrayOfFloat1[1] * arrayOfFloat[b + 928];
		          f += arrayOfFloat1[2] * arrayOfFloat[b + 960];
		          f += arrayOfFloat1[3] * arrayOfFloat[b + 32];
		          f += arrayOfFloat1[4] * arrayOfFloat[b + 64];
		          f += arrayOfFloat1[5] * arrayOfFloat[b + 160];
		          f += arrayOfFloat1[6] * arrayOfFloat[b + 192];
		          f += arrayOfFloat1[7] * arrayOfFloat[b + 288];
		          f += arrayOfFloat1[8] * arrayOfFloat[b + 320];
		          f += arrayOfFloat1[9] * arrayOfFloat[b + 416];
		          f += arrayOfFloat1[10] * arrayOfFloat[b + 448];
		          f += arrayOfFloat1[11] * arrayOfFloat[b + 544];
		          f += arrayOfFloat1[12] * arrayOfFloat[b + 576];
		          f += arrayOfFloat1[13] * arrayOfFloat[b + 672];
		          f += arrayOfFloat1[14] * arrayOfFloat[b + 704];
		          f += arrayOfFloat1[15] * arrayOfFloat[b + 800];
		          int b1 = (f > 32767.0F) ? 32767 : ((f < -32768.0F) ? -32768 : (int)f);
		          arrayOfByte[i] = (byte)b1;
		          arrayOfByte[i + 1] = (byte)(b1 >>> 8);
		          if (b1 > this.maxpcm)
		            this.maxpcm = b1; 
		        } 
		        break;
		      case 896:
		        for (b = 0; b < 32; b++, i += this.step) {
		          float[] arrayOfFloat1 = this.dewin[b];
		          float f = arrayOfFloat1[0] * arrayOfFloat[b + 896];
		          f += arrayOfFloat1[1] * arrayOfFloat[b + 992];
		          f += arrayOfFloat1[2] * arrayOfFloat[b];
		          f += arrayOfFloat1[3] * arrayOfFloat[b + 96];
		          f += arrayOfFloat1[4] * arrayOfFloat[b + 128];
		          f += arrayOfFloat1[5] * arrayOfFloat[b + 224];
		          f += arrayOfFloat1[6] * arrayOfFloat[b + 256];
		          f += arrayOfFloat1[7] * arrayOfFloat[b + 352];
		          f += arrayOfFloat1[8] * arrayOfFloat[b + 384];
		          f += arrayOfFloat1[9] * arrayOfFloat[b + 480];
		          f += arrayOfFloat1[10] * arrayOfFloat[b + 512];
		          f += arrayOfFloat1[11] * arrayOfFloat[b + 608];
		          f += arrayOfFloat1[12] * arrayOfFloat[b + 640];
		          f += arrayOfFloat1[13] * arrayOfFloat[b + 736];
		          f += arrayOfFloat1[14] * arrayOfFloat[b + 768];
		          f += arrayOfFloat1[15] * arrayOfFloat[b + 864];
		          int b1 = (f > 32767.0F) ? 32767 : ((f < -32768.0F) ? -32768 : (int)f);
		          arrayOfByte[i] = (byte)b1;
		          arrayOfByte[i + 1] = (byte)(b1 >>> 8);
		          if (b1 > this.maxpcm)
		            this.maxpcm = b1; 
		        } 
		        break;
		      case 960:
		        for (b = 0; b < 32; b++, i += this.step) {
		          float[] arrayOfFloat1 = this.dewin[b];
		          float f = arrayOfFloat1[0] * arrayOfFloat[b + 960];
		          f += arrayOfFloat1[1] * arrayOfFloat[b + 32];
		          f += arrayOfFloat1[2] * arrayOfFloat[b + 64];
		          f += arrayOfFloat1[3] * arrayOfFloat[b + 160];
		          f += arrayOfFloat1[4] * arrayOfFloat[b + 192];
		          f += arrayOfFloat1[5] * arrayOfFloat[b + 288];
		          f += arrayOfFloat1[6] * arrayOfFloat[b + 320];
		          f += arrayOfFloat1[7] * arrayOfFloat[b + 416];
		          f += arrayOfFloat1[8] * arrayOfFloat[b + 448];
		          f += arrayOfFloat1[9] * arrayOfFloat[b + 544];
		          f += arrayOfFloat1[10] * arrayOfFloat[b + 576];
		          f += arrayOfFloat1[11] * arrayOfFloat[b + 672];
		          f += arrayOfFloat1[12] * arrayOfFloat[b + 704];
		          f += arrayOfFloat1[13] * arrayOfFloat[b + 800];
		          f += arrayOfFloat1[14] * arrayOfFloat[b + 832];
		          f += arrayOfFloat1[15] * arrayOfFloat[b + 928];
		          int b1 = (f > 32767.0F) ? 32767 : ((f < -32768.0F) ? -32768 : (int)f);
		          arrayOfByte[i] = (byte)b1;
		          arrayOfByte[i + 1] = (byte)(b1 >>> 8);
		          if (b1 > this.maxpcm)
		            this.maxpcm = b1; 
		        } 
		        break;
		    } 
		    this.audioBuf.off[paramInt] = i;
		  }
		  
		  private void dct32to64(float[] paramArrayOffloat1, float[] paramArrayOffloat2, int paramInt) {
		    float[] arrayOfFloat1 = paramArrayOffloat1, arrayOfFloat2 = paramArrayOffloat2;
		    int i = paramInt;
		    float f1 = arrayOfFloat1[0] + arrayOfFloat1[31];
		    float f2 = arrayOfFloat1[1] + arrayOfFloat1[30];
		    float f3 = arrayOfFloat1[2] + arrayOfFloat1[29];
		    float f4 = arrayOfFloat1[3] + arrayOfFloat1[28];
		    float f5 = arrayOfFloat1[4] + arrayOfFloat1[27];
		    float f6 = arrayOfFloat1[5] + arrayOfFloat1[26];
		    float f7 = arrayOfFloat1[6] + arrayOfFloat1[25];
		    float f8 = arrayOfFloat1[7] + arrayOfFloat1[24];
		    float f9 = arrayOfFloat1[8] + arrayOfFloat1[23];
		    float f10 = arrayOfFloat1[9] + arrayOfFloat1[22];
		    float f11 = arrayOfFloat1[10] + arrayOfFloat1[21];
		    float f12 = arrayOfFloat1[11] + arrayOfFloat1[20];
		    float f13 = arrayOfFloat1[12] + arrayOfFloat1[19];
		    float f14 = arrayOfFloat1[13] + arrayOfFloat1[18];
		    float f15 = arrayOfFloat1[14] + arrayOfFloat1[17];
		    float f16 = arrayOfFloat1[15] + arrayOfFloat1[16];
		    float f33 = f1 + f16;
		    float f34 = f2 + f15;
		    float f35 = f3 + f14;
		    float f36 = f4 + f13;
		    float f37 = f5 + f12;
		    float f38 = f6 + f11;
		    float f39 = f7 + f10;
		    float f40 = f8 + f9;
		    float f18 = f33 + f40;
		    float f20 = f34 + f39;
		    float f22 = f35 + f38;
		    float f24 = f36 + f37;
		    float f41 = f18 + f24;
		    float f42 = f20 + f22;
		    arrayOfFloat2[i + 48] = -f41 - f42;
		    arrayOfFloat2[i] = (f41 - f42) * 0.7071068F;
		    float f43 = (f18 - f24) * 0.5411961F;
		    float f44 = (f20 - f22) * 1.306563F;
		    float f19 = f43 + f44;
		    float f29 = (f43 - f44) * 0.7071068F;
		    arrayOfFloat2[i + 56] = -f19 - f29;
		    arrayOfFloat2[i + 40] = -f19 - f29;
		    arrayOfFloat2[i + 8] = f29;
		    f18 = (f33 - f40) * 0.5097956F;
		    f20 = (f34 - f39) * 0.6013449F;
		    f22 = (f35 - f38) * 0.8999762F;
		    f24 = (f36 - f37) * 2.5629153F;
		    f41 = f18 + f24;
		    f42 = f20 + f22;
		    f43 = (f18 - f24) * 0.5411961F;
		    f44 = (f20 - f22) * 1.306563F;
		    f18 = f41 + f42;
		    f22 = (f41 - f42) * 0.7071068F;
		    f20 = f43 + f44;
		    f24 = (f43 - f44) * 0.7071068F;
		    f20 += f24;
		    arrayOfFloat2[i + 52] = -f18 - f20;
		    arrayOfFloat2[i + 44] = -f18 - f20;
		    arrayOfFloat2[i + 60] = -f20 - f22;
		    arrayOfFloat2[i + 36] = -f20 - f22;
		    arrayOfFloat2[i + 4] = f22 + f24;
		    arrayOfFloat2[i + 12] = f24;
		    f33 = (f1 - f16) * 0.5024193F;
		    f34 = (f2 - f15) * 0.5224986F;
		    f35 = (f3 - f14) * 0.566944F;
		    f36 = (f4 - f13) * 0.6468218F;
		    f37 = (f5 - f12) * 0.7881546F;
		    f38 = (f6 - f11) * 1.0606776F;
		    f39 = (f7 - f10) * 1.7224472F;
		    f40 = (f8 - f9) * 5.1011486F;
		    f20 = f33 + f40;
		    f24 = f34 + f39;
		    float f28 = f35 + f38;
		    float f32 = f36 + f37;
		    f41 = f20 + f32;
		    f42 = f24 + f28;
		    f18 = f41 + f42;
		    float f26 = (f41 - f42) * 0.7071068F;
		    f43 = (f20 - f32) * 0.5411961F;
		    f44 = (f24 - f28) * 1.306563F;
		    f22 = f43 + f44;
		    float f30 = (f43 - f44) * 0.7071068F;
		    f22 += f30;
		    f20 = (f33 - f40) * 0.5097956F;
		    f24 = (f34 - f39) * 0.6013449F;
		    f28 = (f35 - f38) * 0.8999762F;
		    f32 = (f36 - f37) * 2.5629153F;
		    f41 = f20 + f32;
		    f42 = f24 + f28;
		    f43 = (f20 - f32) * 0.5411961F;
		    f44 = (f24 - f28) * 1.306563F;
		    f20 = f41 + f42;
		    f28 = (f41 - f42) * 0.7071068F;
		    f24 = f43 + f44;
		    f32 = (f43 - f44) * 0.7071068F;
		    f24 += f32;
		    f20 += f24;
		    f24 += f28;
		    f28 += f32;
		    arrayOfFloat2[i + 50] = -f18 - f20;
		    arrayOfFloat2[i + 46] = -f18 - f20;
		    arrayOfFloat2[i + 54] = -f20 - f22;
		    arrayOfFloat2[i + 42] = -f20 - f22;
		    arrayOfFloat2[i + 58] = -f22 - f24;
		    arrayOfFloat2[i + 38] = -f22 - f24;
		    arrayOfFloat2[i + 62] = -f24 - f26;
		    arrayOfFloat2[i + 34] = -f24 - f26;
		    arrayOfFloat2[i + 2] = f26 + f28;
		    arrayOfFloat2[i + 6] = f28 + f30;
		    arrayOfFloat2[i + 10] = f30 + f32;
		    arrayOfFloat2[i + 14] = f32;
		    f1 = (arrayOfFloat1[0] - arrayOfFloat1[31]) * 0.500603F;
		    f2 = (arrayOfFloat1[1] - arrayOfFloat1[30]) * 0.505471F;
		    f3 = (arrayOfFloat1[2] - arrayOfFloat1[29]) * 0.5154473F;
		    f4 = (arrayOfFloat1[3] - arrayOfFloat1[28]) * 0.5310426F;
		    f5 = (arrayOfFloat1[4] - arrayOfFloat1[27]) * 0.5531039F;
		    f6 = (arrayOfFloat1[5] - arrayOfFloat1[26]) * 0.582935F;
		    f7 = (arrayOfFloat1[6] - arrayOfFloat1[25]) * 0.6225041F;
		    f8 = (arrayOfFloat1[7] - arrayOfFloat1[24]) * 0.6748083F;
		    f9 = (arrayOfFloat1[8] - arrayOfFloat1[23]) * 0.7445362F;
		    f10 = (arrayOfFloat1[9] - arrayOfFloat1[22]) * 0.8393496F;
		    f11 = (arrayOfFloat1[10] - arrayOfFloat1[21]) * 0.9725682F;
		    f12 = (arrayOfFloat1[11] - arrayOfFloat1[20]) * 1.1694399F;
		    f13 = (arrayOfFloat1[12] - arrayOfFloat1[19]) * 1.4841646F;
		    f14 = (arrayOfFloat1[13] - arrayOfFloat1[18]) * 2.057781F;
		    f15 = (arrayOfFloat1[14] - arrayOfFloat1[17]) * 3.4076085F;
		    f16 = (arrayOfFloat1[15] - arrayOfFloat1[16]) * 10.190008F;
		    f33 = f1 + f16;
		    f34 = f2 + f15;
		    f35 = f3 + f14;
		    f36 = f4 + f13;
		    f37 = f5 + f12;
		    f38 = f6 + f11;
		    f39 = f7 + f10;
		    f40 = f8 + f9;
		    f18 = f33 + f40;
		    f20 = f34 + f39;
		    f22 = f35 + f38;
		    f24 = f36 + f37;
		    f41 = f18 + f24;
		    f42 = f20 + f22;
		    float f17 = f41 + f42;
		    float f25 = (f41 - f42) * 0.7071068F;
		    f43 = (f18 - f24) * 0.5411961F;
		    f44 = (f20 - f22) * 1.306563F;
		    float f21 = f43 + f44;
		    f29 = (f43 - f44) * 0.7071068F;
		    f21 += f29;
		    f18 = (f33 - f40) * 0.5097956F;
		    f20 = (f34 - f39) * 0.6013449F;
		    f22 = (f35 - f38) * 0.8999762F;
		    f24 = (f36 - f37) * 2.5629153F;
		    f41 = f18 + f24;
		    f42 = f20 + f22;
		    f43 = (f18 - f24) * 0.5411961F;
		    f44 = (f20 - f22) * 1.306563F;
		    f19 = f41 + f42;
		    float f27 = (f41 - f42) * 0.7071068F;
		    float f23 = f43 + f44;
		    float f31 = (f43 - f44) * 0.7071068F;
		    f23 += f31;
		    f19 += f23;
		    f23 += f27;
		    f27 += f31;
		    f33 = (f1 - f16) * 0.5024193F;
		    f34 = (f2 - f15) * 0.5224986F;
		    f35 = (f3 - f14) * 0.566944F;
		    f36 = (f4 - f13) * 0.6468218F;
		    f37 = (f5 - f12) * 0.7881546F;
		    f38 = (f6 - f11) * 1.0606776F;
		    f39 = (f7 - f10) * 1.7224472F;
		    f40 = (f8 - f9) * 5.1011486F;
		    f18 = f33 + f40;
		    f20 = f34 + f39;
		    f22 = f35 + f38;
		    f24 = f36 + f37;
		    f41 = f18 + f24;
		    f42 = f20 + f22;
		    f1 = f41 + f42;
		    f5 = (f41 - f42) * 0.7071068F;
		    f43 = (f18 - f24) * 0.5411961F;
		    f44 = (f20 - f22) * 1.306563F;
		    f3 = f43 + f44;
		    f7 = (f43 - f44) * 0.7071068F;
		    f3 += f7;
		    f18 = (f33 - f40) * 0.5097956F;
		    f20 = (f34 - f39) * 0.6013449F;
		    f22 = (f35 - f38) * 0.8999762F;
		    f24 = (f36 - f37) * 2.5629153F;
		    f41 = f18 + f24;
		    f42 = f20 + f22;
		    f43 = (f18 - f24) * 0.5411961F;
		    f44 = (f20 - f22) * 1.306563F;
		    f18 = f41 + f42;
		    f22 = (f41 - f42) * 0.7071068F;
		    f20 = f43 + f44;
		    f32 = (f43 - f44) * 0.7071068F;
		    f20 += f32;
		    f18 += f20;
		    f20 += f22;
		    f22 += f32;
		    f30 = f7 + f32;
		    f28 = f22 + f7;
		    f26 = f5 + f22;
		    f24 = f20 + f5;
		    f22 = f3 + f20;
		    f20 = f18 + f3;
		    f18 += f1;
		    arrayOfFloat2[i + 49] = -f17 - f18;
		    arrayOfFloat2[i + 47] = -f17 - f18;
		    arrayOfFloat2[i + 51] = -f18 - f19;
		    arrayOfFloat2[i + 45] = -f18 - f19;
		    arrayOfFloat2[i + 53] = -f19 - f20;
		    arrayOfFloat2[i + 43] = -f19 - f20;
		    arrayOfFloat2[i + 55] = -f20 - f21;
		    arrayOfFloat2[i + 41] = -f20 - f21;
		    arrayOfFloat2[i + 57] = -f21 - f22;
		    arrayOfFloat2[i + 39] = -f21 - f22;
		    arrayOfFloat2[i + 59] = -f22 - f23;
		    arrayOfFloat2[i + 37] = -f22 - f23;
		    arrayOfFloat2[i + 61] = -f23 - f24;
		    arrayOfFloat2[i + 35] = -f23 - f24;
		    arrayOfFloat2[i + 63] = -f24 - f25;
		    arrayOfFloat2[i + 33] = -f24 - f25;
		    arrayOfFloat2[i + 1] = f25 + f26;
		    arrayOfFloat2[i + 3] = f26 + f27;
		    arrayOfFloat2[i + 5] = f27 + f28;
		    arrayOfFloat2[i + 7] = f28 + f29;
		    arrayOfFloat2[i + 9] = f29 + f30;
		    arrayOfFloat2[i + 11] = f30 + f31;
		    arrayOfFloat2[i + 13] = f31 + f32;
		    arrayOfFloat2[i + 15] = f32;
		    arrayOfFloat2[i + 16] = 0.0F;
		    arrayOfFloat2[i + 17] = -f32;
		    arrayOfFloat2[i + 18] = -arrayOfFloat2[i + 14];
		    arrayOfFloat2[i + 19] = -arrayOfFloat2[i + 13];
		    arrayOfFloat2[i + 20] = -arrayOfFloat2[i + 12];
		    arrayOfFloat2[i + 21] = -arrayOfFloat2[i + 11];
		    arrayOfFloat2[i + 22] = -arrayOfFloat2[i + 10];
		    arrayOfFloat2[i + 23] = -arrayOfFloat2[i + 9];
		    arrayOfFloat2[i + 24] = -arrayOfFloat2[i + 8];
		    arrayOfFloat2[i + 25] = -arrayOfFloat2[i + 7];
		    arrayOfFloat2[i + 26] = -arrayOfFloat2[i + 6];
		    arrayOfFloat2[i + 27] = -arrayOfFloat2[i + 5];
		    arrayOfFloat2[i + 28] = -arrayOfFloat2[i + 4];
		    arrayOfFloat2[i + 29] = -arrayOfFloat2[i + 3];
		    arrayOfFloat2[i + 30] = -arrayOfFloat2[i + 2];
		    arrayOfFloat2[i + 31] = -arrayOfFloat2[i + 1];
		    arrayOfFloat2[i + 32] = -arrayOfFloat2[i];
		  }
		}